<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/presentation');
function exec_radiodj_schedule_dist(){
    if (_request('del_schedule_row')) {
        $message = del_schedule_row(_request('del_schedule_row'));
    }
    if (_request('new_record')) {
        $message = add_schedule_row();
    }
    if (_request('edit_record')) {
        $message = edit_schedule_row(_request('edit_record'));
    }
    
    // if not authorised: error message
    if (!autoriser('voir', 'nom')) {
        include_spip('inc/minipres');
        echo minipres();
        exit;
    }
    // initialisation pipeline 
    pipeline('exec_init', array('args'=>array('exec'=>'nom'),'data'=>''));
    // headers
    $commencer_page = charger_fonction('commencer_page', 'inc');
    // titre, partie, sous_partie (pour le menu)
    echo $commencer_page(_T('Radio DJ'), "radiodj", "radiodj");
    
    // title
    echo "<br /><br /><br />\n"; // outch ! aie aie aie ! au secours !
    echo gros_titre(_T('Radio DJ'),'', false);
    
    // left column
    require('left.php');
    
    // centre
    echo debut_droite('', true);
    // contents
    // ...       
    require('tabs.php');
    
    if (isset($message))
        echo $message;
    
    //$days = array('1' => 'Пн', '2' => 'Вт', '3' => 'Ср', '4' => 'Чт', '5' => 'Пт', '6' => 'Сб', '7' => 'Вс');
    
    $where = array();
    $day = _request('day') ? _request('day') : 1;
    $where[] = "day = ".$day; //exit($_GET['id_auteur']);      
    if ($_GET['id_auteur']) $where[] = "spip_radiodj_schedule.id_auteur = ".$_GET['id_auteur']; 
    //print_r($where); exit;
    $schedule_records = sql_fetch_all(sql_select('*, DATE_FORMAT(time_begin, "%H:%i") AS time_begin, 
        DATE_FORMAT(time_end, "%H:%i") AS time_end', 'spip_radiodj_schedule JOIN spip_auteurs 
        ON spip_auteurs.id_auteur = spip_radiodj_schedule.id_auteur', $where, '','time_begin'));
    $where = array();
    //$where[] = "pgp = 'DJ'";
    //$where[] = "statut = 'radiodj'";
    $djs = array();
    if ($id_mot_dj = lire_config('radiodj/IdMotDj')) {
        $where[] = "spip_mots_auteurs.id_mot = ".$id_mot_dj; // Отбираем по ключевому слову 
        if ($_GET['id_auteur'])
            $where[] = "spip_auteurs.id_auteur = ".$_GET['id_auteur'];
                                                            // Сдесь джойним для отбора по ключевому слову.
        $djs = sql_fetch_all(sql_select('*', 'spip_auteurs JOIN spip_mots_auteurs ON spip_mots_auteurs.id_auteur = spip_auteurs.id_auteur', $where));
    }    
    
    $id_auteur_get = $_GET['id_auteur']? '&id_auteur='.$_GET['id_auteur']: '';
        
    require('radiodj_schedule.html');
    
    // ...
    // end of contents
    echo pipeline('affiche_milieu', array('args'=>array('exec'=>'nom'),'data'=>''));
    echo fin_gauche(), fin_page();
}

/**
 *  Функция для удаления записи расписания
 * 
 *  @param int $id_schedule ID записи, которую надо удалить
 */
function del_schedule_row($id_schedule) {    
    if (sql_delete('spip_radiodj_schedule', "id_schedule = $id_schedule")) {         
        return get_message_content('success', 'Запись удалена!');        
    } else {
        return get_message_content('error', 'Ошибка при удалении записи!');
    }
}

/**
 *  Функция добавления новой записи расписания
 *
 */
function add_schedule_row() {
    $data = array();
    $data['id_auteur '] = _request('id_auteur');
    $data['day'] = _request('day');
    $data['time_begin'] = _request('time_begin_hour').':'._request('time_begin_minute');
    $data['time_end'] = _request('time_end_hour').':'._request('time_end_minute');    
    
    if (strtotime($data['time_begin']) >= strtotime($data['time_end'])) {        
        return get_message_content('warning', 'Вы ошиблись при вводе дат!');    
    }
    
    $id_schedule = sql_insertq('spip_radiodj_schedule', $data);
    
    if ($id_schedule) {
        return get_message_content('success', 'Запись добавлена!');
    } else {
        return get_message_content('error', 'Ошибка при добавлении записи!');
    }
}

/**
 *  Функция для редактирования записи расписания
 * 
 *  @param int $id_schedule ID записи, которую надо отредактировать
 */
function edit_schedule_row($id_schedule) {
    $data = array();
    $data['id_auteur'] = _request('id_auteur');
    $data['day'] = _request('day');
    $data['time_begin'] = _request('time_begin_hour').':'._request('time_begin_minute');
    $data['time_end'] = _request('time_end_hour').':'._request('time_end_minute');
    
    if (strtotime($data['time_begin']) >= strtotime($data['time_end'])) {        
        return get_message_content('warning', 'Вы ошиблись при вводе дат!');    
    }
    
    if (sql_updateq('spip_radiodj_schedule', $data, "id_schedule = $id_schedule")) {         
        return get_message_content('success', 'Запись отредактирована!');        
    } else {
        return get_message_content('error', 'Ошибка при редактировании записи!');
    }
}

function get_message_content($message_type, $message_text) {    
    switch(strtolower($message_type)) {
        case 'warning': $file = 'message_warning.html'; 
            break;
        case 'error': $file = 'message_error.html'; 
            break;    
        case 'success': $file = 'message_success.html'; 
            break;    
    }
    
   $message = file_get_contents(dirname(__FILE__).DIRECTORY_SEPARATOR.$file);
   return str_replace("%message%", $message_text, $message);    
}
?>